#ifndef __GAME_CONTROLLER_OBJECTS_CREATOR_HPP__
#define __GAME_CONTROLLER_OBJECTS_CREATOR_HPP__

#include "game_controller\ih\game_controller_ilevel_controller.hpp"

#include "resource_controller\ih\resource_controller_object_describer.hpp"

namespace GameModel {

	struct IObjectFactory;
}

namespace GameController {

class ObjectCreator
{

public:

	ObjectCreator( std::shared_ptr< GameModel::IObjectFactory > _gameModelFactory );

	virtual ~ObjectCreator();

public:

	GameModel::IObject::Ptr createUnmovingObject( std::shared_ptr< ResourceController::ObjectDescriber > _objectDescriber );

private:

	std::shared_ptr< GameModel::IObjectFactory > m_gameModelFactory;

};

} // namespace GameController

#endif // __GAME_CONTROLLER_OBJECTS_CREATOR_HPP__
